import Vue from 'vue'
import Vuex from 'vuex'
import logger from 'vuex/dist/logger'
import mutations from './mutations'
Vue.use(Vuex)

Vue.config.productionTip = false

// 把计数器存放到vuex的state中
const state = {
  collect: []
}
const getters = {
  val: (state) => {
    return state.collect.length % 2 ? '奇数' : '偶数'
  }
}

// 计数器
// store被注册到了实例上，所有组件都会有一个属性this,$store
// logger是一个日志插件，用于记录mutation的状态变化，如果触发了mutation之前和之后的状态
const store = new Vuex.Store({
  state,
  mutations,
  plugins: [logger()],
  getters,
  strict: true // 只能通过mutation(管理员)来更改装填，mutation不支持异步，配置true后如果其他地方尝试修改会报异常
})

export default store
